home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / libg_261.zip / libg_261 / libg++ / gperf / tests / test-6.exp < prev    next >
Text File  |  1992-12-21  |  5KB  |  75 lines

  1. -a    Generate ANSI standard C output code, i.e., function prototypes.
  2. -c    Generate comparison code using strncmp rather than strcmp.
  3. -C    Make the contents of generated lookup tables constant, i.e., readonly.
  4. -d    Enables the debugging option (produces verbose output to the standard error).
  5. -D    Handle keywords that hash to duplicate values.  This is useful
  6.     for certain highly redundant keyword sets.  It enables the -S option.
  7. -e    Allow user to provide a string containing delimiters used to separate
  8.     keywords from their attributes.  Default is ",\n"
  9. -E    Define constant values using an enum local to the lookup function
  10.     rather than with defines
  11. -f    Generate the gen-perf.hash function ``fast.''  This decreases GPERF's
  12.     running time at the cost of minimizing generated table-size.
  13.     The numeric argument represents the number of times to iterate when
  14.     resolving a collision.  `0' means ``iterate by the number of keywords.''
  15. -g    Assume a GNU compiler, e.g., g++ or gcc.  This makes all generated
  16.     routines use the ``inline'' keyword to remove cost of function calls.
  17. -G    Generate the static table of keywords as a static global variable,
  18.     rather than hiding it inside of the lookup function (which is the
  19.     default behavior).
  20. -h    Prints this mesage.
  21. -H    Allow user to specify name of generated hash function. Default
  22.     is `hash'.
  23. -i    Provide an initial value for the associate values array.  Default is 0.
  24.     Setting this value larger helps inflate the size of the final table.
  25. -j    Affects the ``jump value,'' i.e., how far to advance the associated
  26.     character value upon collisions.  Must be an odd number, default is 5.
  27. -k    Allows selection of the key positions used in the hash function.
  28.     The allowable choices range between 1-126, inclusive.  The positions
  29.     are separated by commas, ranges may be used, and key positions may
  30.     occur in any order.  Also, the meta-character '*' causes the generated
  31.     hash function to consider ALL key positions, and $ indicates the
  32.     ``final character'' of a key, e.g., $,1,2,4,6-10.
  33. -K    Allow use to select name of the keyword component in the keyword structure.
  34. -l    Compare key lengths before trying a string comparison.  This helps
  35.     cut down on the number of string comparisons made during the lookup.
  36. -L    Generates code in the language specified by the option's argument.  Languages
  37.     handled are currently C++ and C.  The default is C.
  38. -n    Do not include the length of the keyword when computing the hash function
  39. -N    Allow user to specify name of generated lookup function.  Default
  40.     name is `in_word_set.'
  41. -o    Reorders input keys by frequency of occurrence of the key sets.
  42.     This should decrease the search time dramatically.
  43. -p    Changes the return value of the generated function ``in_word_set''
  44.     from its default boolean value (i.e., 0 or 1), to type ``pointer
  45.     to wordlist array''  This is most useful when the -t option, allowing
  46.     user-defined structs, is used.
  47. -r    Utilizes randomness to initialize the associated values table.
  48. -s    Affects the size of the generated hash table.  The numeric argument
  49.     for this option indicates ``how many times larger or smaller'' the associated
  50.     value range should be, in relationship to the number of keys, e.g. a value of 3
  51.     means ``allow the maximum associated value to be about 3 times larger than the
  52.     number of input keys.''  Conversely, a value of -3 means ``make the maximum
  53.     associated value about 3 times smaller than the number of input keys.
  54.     A larger table should decrease the time required for an unsuccessful search,
  55.     at the expense of extra table space.  Default value is 1.
  56. -S    Causes the generated C code to use a switch statement scheme, rather
  57.     than an array lookup table.  This can lead to a reduction in both
  58.     time and space requirements for some keyfiles.  The argument to
  59.     this option determines how many switch statements are generated.
  60.     A value of 1 generates 1 switch containing all the elements, a value of 2
  61.     generates 2 tables with 1/2 the elements in each table, etc.  This
  62.     is useful since many C compilers cannot correctly generate code for
  63.     large switch statements.
  64. -t    Allows the user to include a structured type declaration for 
  65.     generated code. Any text before %% is consider part of the type
  66.     declaration.  Key words and additional fields may follow this, one
  67.     group of fields per line.
  68. -T    Prevents the transfer of the type declaration to the output file.
  69.     Use this option if the type is already defined elsewhere.
  70. -v    Prints out the current version number
  71. -Z    Allow user to specify name of generated C++ class.  Default
  72.     name is `Perfect_Hash.'
  73. Usage: ../src/gperf [-acCdDef[num]gGhH<hashname>i<init>jk<keys>K<keyname>lL<language>nN<function name>oprs<size>S<switches>tTvZ<class name>].
  74. (type ../src/gperf -h for help)
  75.